//:rs232

#include <16f877a.h>
#fuses HS,NOWDT,PUT,NOPROTECT,NOBROWNOUT,NOLVP,NOCPD
#use delay(clock=4000000)

#define BAJO 0

void movimiento1 (void){
	
	int8 estado_led=0,estado_led1=0,estado_led2=0,estado_led3=0;
//;secuencia motor horizontal
			output_high (pin_B6);
			estado_led=1;
			delay_ms(250);
			output_low (pin_B6);
			estado_led=0;

			output_high (pin_B7);
			estado_led=1;
			delay_ms(250);
			output_low (pin_B7);
			estado_led=0;

			output_high (pin_B6);
			estado_led=1;
			delay_ms(250);
			output_low (pin_B6);
			estado_led=0;

			output_high (pin_B5);
			estado_led=1;
			delay_ms(250);
			output_low (pin_B5);
			estado_led=0;

			output_high (pin_B6);
			estado_led=1;
			delay_ms(250);
			output_low (pin_B6);
			estado_led=0;

			output_high (pin_B7);
			estado_led=1;
			delay_ms(250);
			output_low (pin_B7);
			estado_led=0;
//;secuencia motor vertical
			output_high (pin_B2);
			estado_led=1;
			delay_ms(250);
			output_low (pin_B2);
			estado_led=0;

			output_high (pin_B3);
			estado_led=1;
			delay_ms(250);
			output_low (pin_B3);
			estado_led=0;

			output_high (pin_B2);
			estado_led=1;
			delay_ms(250);
			output_low (pin_B2);
			estado_led=0;

			output_high (pin_B1);
			estado_led=1;
			delay_ms(250);
			output_low (pin_B1);
			estado_led=0;

			output_high (pin_B2);
			estado_led=1;
			delay_ms(250);
			output_low (pin_B2);
			estado_led=0;

			output_high (pin_B3);
			estado_led=1;
			delay_ms(250);
			output_low (pin_B3);
			estado_led=0;

			output_low (pin_d0);
			delay_ms(10);
			
		
}
void main (void){
	
     	float voltaje; 
		setup_adc_ports(AN0_AN1_AN3);
		setup_adc(ADC_clock_INTERNAL);
		set_adc_channel(0);
         while(1){//inicio del while

		 voltaje=(float) read_adc()*0.0196078;
	   		if(input(PIN_d1)==1){
		 delay_ms(10);
		
				if(voltaje>=BAJO){
					movimiento1();		
			}
				}	
		 }   
}
